#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

int gval = 100;
int main()
{
    printf("i am a process, pid: %d, ppid: %d\n", getpid(), getppid());

    pid_t id = fork();
    if (id == 0)
    {
        while(1)
        {
            printf("我是子进程，pid: %d, ppid: %d, gavl: %d, &gval: %p\n", getpid(),getppid(), gval, &gval);
            gval++;
            sleep(1);
        }
    }
    else 
    {
        while(1)
        {
        
            printf("我是父进程，pid: %d, ppid: %d, gavl: %d, &gval: %p\n", getpid(),getppid(), gval, &gval);
            sleep(1);
        }
    }
}






















//int main()
//{
    // 让程序只允许在当前目录跑一次
   // char *isrunning = getenv("ISRUNNING");
   // if (isrunning == NULL)
   // {
   //     while(1)
   //     {
   //         printf("当前程序首次启动\n");
   //         sleep(1);
   //     
   //     }
   // }
   // else 
   // {
   //     printf("当前程序已经运行了，不要再启动了\n");
   // }


    // 我可以让我的程序识别用户的身份，进而只给某个用户权限
   // const char *who = getenv("USER");

   // if (strcmp(who, "ybt") == 0)
   // {
   //     printf("执行程序的正常命令\n");
   //     return 0;
   // }
   // else{
   //     printf("无效操作\n");
   //     return 1;
   // }
   // // printf("User: %s\n", getenv("USER"));
   // return 0;
//}
